package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc AddApplexConrelComReqDto
 * @使用场景
 */
@Data
public class AddApplexConrelComReqDto extends BaseDto implements Serializable {

    /**
     * 方案开通记录ID
     */
    @NotNull(message = "方案开通记录ID不能为空")
    @ApiModelProperty("方案开通记录ID")
    private String schOpenRecordId;

    /**
     * 配置方案ID
     */
    @NotNull(message = "配置方案ID不能为空")
    @ApiModelProperty("配置方案ID")
    private String confSchemeId;

    /**
     * 配置方案标识
     */
    @NotNull(message = "配置方案标识不能为空")
    @ApiModelProperty("配置方案标识")
    private String confSchemeCode;

    /**
     * 应用实例ID
     */
    @NotNull(message = "应用实例ID不能为空")
    @ApiModelProperty("应用实例ID")
    private String applexId;

    /**
     * 应用实例类型 TENANT_SPACE:租户空间 ORG:组织 EVA_THEME:评价主题 EVA_TEMP:评价模板 PLATFORM:平台
     */
    @NotNull(message = "应用实例类型不能为空")
    @ApiModelProperty("应用实例类型")
    private String applexType;

    /**
     * 是否初始方案答案 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否初始方案答案不能为空")
    @ApiModelProperty("是否初始方案答案")
    private String isInitialScheme;

    /**
     * 答案归属对象类型 TENANT_SPACE:租户空间 ORG:组织 EVA_THEME:评价主题 EVA_TEMP:评价模板 PLATFORM:平台
     */
    @NotNull(message = "答案归属对象类型不能为空")
    @ApiModelProperty("答案归属对象类型")
    private String resultAspObjType;

    /**
     * 答案归属对象ID
     */
    @NotNull(message = "答案归属对象ID不能为空")
    @ApiModelProperty("答案归属对象ID")
    private String resultAspObjId;

    /**
     * 归属空间ID
     */
    @NotNull(message = "归属空间ID不能为空")
    @ApiModelProperty("归属空间ID")
    private String ascriptionSpaceId;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

}
